package com.qzsoft.zhjd.materiel.modules.materielapi.service.impl;

import org.springframework.stereotype.Service;

import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
import com.baomidou.mybatisplus.core.conditions.update.UpdateWrapper;
import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
import com.qzsoft.zhjd.materiel.modules.materielapi.entity.MaterielApiVesionEntity;
import com.qzsoft.zhjd.materiel.modules.materielapi.mapper.MaterielApiVesionMapper;
import com.qzsoft.zhjd.materiel.modules.materielapi.service.MaterielApiVesionService;

/**
 * @ClassName MaterielApiVesionServiceImpl
 * @Description 物料API版本管理业务接口实现
 * @author linhuawei
 * @since 2022-04-06
 */
@Service
public class MaterielApiVesionServiceImpl extends ServiceImpl<MaterielApiVesionMapper, MaterielApiVesionEntity>
        implements MaterielApiVesionService {

    @Override
    public Long getVersionByCode(String code) {
        QueryWrapper<MaterielApiVesionEntity> queryWrapper = new QueryWrapper<MaterielApiVesionEntity>();
        queryWrapper.eq("code", code);
        queryWrapper.last(" LIMIT 0,1 ");
        MaterielApiVesionEntity entity = baseMapper.selectOne(queryWrapper);
        if (null == entity) {
            entity = new MaterielApiVesionEntity();
            entity.setCode(code);
            entity.setVersion(System.currentTimeMillis());
            baseMapper.insert(entity);
        }
        return entity.getVersion();
    }

    @Override
    public void updateByCode(String code) {
        UpdateWrapper<MaterielApiVesionEntity> updateWrapper = new UpdateWrapper<MaterielApiVesionEntity>();
        updateWrapper.eq("code", code);
        updateWrapper.set("version", System.currentTimeMillis());
        baseMapper.update(null, updateWrapper);
    }

}
